/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Beans;

import conexion.Coneccion;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author Jorge Aguila
 */
public class ModEmp_Cargo {
    
    private int idcargo;
    private String nombre;
    private String descripcion;    
    private int fk_tipodocumento;
    private int fk_idusuario_crea;
    private int fk_idusuario_mod;
    private boolean eliminado;
    private String accion;

    public ModEmp_Cargo() {
    }

    public int getIdcargo() {
        return idcargo;
    }

    public void setIdcargo(int idcargo) {
        this.idcargo = idcargo;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public int getFk_tipodocumento() {
        return fk_tipodocumento;
    }

    public void setFk_tipodocumento(int fk_tipodocumento) {
        this.fk_tipodocumento = fk_tipodocumento;
    }

    public int getFk_idusuario_crea() {
        return fk_idusuario_crea;
    }

    public void setFk_idusuario_crea(int fk_idusuario_crea) {
        this.fk_idusuario_crea = fk_idusuario_crea;
    }

    public int getFk_idusuario_mod() {
        return fk_idusuario_mod;
    }

    public void setFk_idusuario_mod(int fk_idusuario_mod) {
        this.fk_idusuario_mod = fk_idusuario_mod;
    }

    public boolean isEliminado() {
        return eliminado;
    }

    public void setEliminado(boolean eliminado) {
        this.eliminado = eliminado;
    }

    public String getAccion() {
        return accion;
    }

    public void setAccion(String accion) {
        this.accion = accion;
    }
    
    /* __________________________________________________________________ */
    /* ------------------------------------------------------------------ */
    public static ModEmp_Cargo obtenerCargo(int idcargo)
    {   ModEmp_Cargo c = new ModEmp_Cargo();
        CallableStatement ps = null;
        ResultSet rs = null;
        Connection cn = Coneccion.getConexion();
        try
        {   
            ps = cn.prepareCall("select * from view_pas_cargo_listar_cargo where idcargo=?");
            ps.setInt(1, idcargo);
            rs = ps.executeQuery();
            while(rs.next())
            {   c.setIdcargo(rs.getInt(1));
                c.setNombre(rs.getString(2));
            }
            Coneccion.cerrarCall(ps);
            Coneccion.cerrarConexion(cn);
        } catch(SQLException e)
        {   e.printStackTrace();
            Coneccion.cerrarCall(ps);
            Coneccion.cerrarConexion(cn);
        } catch(Exception e)
        {   e.printStackTrace();
            Coneccion.cerrarCall(ps);
            Coneccion.cerrarConexion(cn);
        }         
       return c;
    }
        
    public static  ArrayList<ModEmp_Cargo> listarCargos() {
        ArrayList<ModEmp_Cargo> lista = new ArrayList<ModEmp_Cargo>();
        Connection cn = null;
        PreparedStatement cl = null;
        ResultSet rs = null;        
        try {
            String call = "SELECT *  FROM view_pas_cargo_listar_cargo;";
            cn = Coneccion.getConexion();
            cl = cn.prepareStatement(call);                    
            rs = cl.executeQuery();
            while (rs.next()) {
                ModEmp_Cargo v = new ModEmp_Cargo();
                v.setIdcargo(rs.getInt(1));
                v.setNombre(rs.getString(2));
                v.setDescripcion(rs.getString(3));                
                lista.add(v);
            }
            Coneccion.cerrarCall(cl);
            Coneccion.cerrarConexion(cn);
        } catch(SQLException e)
        {   e.printStackTrace();
            Coneccion.cerrarCall(cl);
            Coneccion.cerrarConexion(cn);
        } catch(Exception e)
        {   e.printStackTrace();
            Coneccion.cerrarCall(cl);
            Coneccion.cerrarConexion(cn);
        }  
        return lista;
    }

    public static  ModEmp_Cargo obtenerIdByCargoChofer(String cargo)
    {
        ModEmp_Cargo c = new ModEmp_Cargo();
        Connection cn = null;
        PreparedStatement cl = null;
        ResultSet rs = null;        
        try {
            String call = "SELECT *  FROM view_pas_cargo_listar_cargo where nombre=?";            
            cn = Coneccion.getConexion();
            cl = cn.prepareStatement(call);          
            cl.setString(1, cargo);
            rs = cl.executeQuery();
            while (rs.next()) 
            {   c.setIdcargo(rs.getInt(1));
                c.setNombre(rs.getString(2));
                c.setDescripcion(rs.getString(3));
            }
            Coneccion.cerrarCall(cl);
            Coneccion.cerrarConexion(cn);
        } catch(SQLException e)
        {   e.printStackTrace();
            Coneccion.cerrarCall(cl);
            Coneccion.cerrarConexion(cn);
        } catch(Exception e)
        {   e.printStackTrace();
            Coneccion.cerrarCall(cl);
            Coneccion.cerrarConexion(cn);
        }  
        return c;
    }
    
}
